import { createStoreBindings } from 'mobx-miniprogram-bindings'
import { store } from '../../store/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isShow:false
  },

  // 弹出打开
  loginShow(){
    this.setData({
      isShow:true
    })
  },

  // 弹出关闭
  hideLogin(){
    this.setData({
      isShow:false
    })
  },
  // 去登录
  goLogin(){
    wx.navigateTo({
      url: '/pkgAuth/pages/login/login',
    })
  },
  // 微信登录
  wxLogin(){
    let code = null
    let userInfo = null
    // 1. 使用  wx.getUserProfile 获取用户资料信息
    wx.getUserProfile({
      desc: '用于获取用于信息',  // 必填，随便写内容
      success:res=>{
        userInfo = res
        this.sendLoginRequest(code,userInfo)
      },
      fail:err=>{
        wx.showToast({
          title: '授权失败',
        })
      }
    })
    // 2. 使用 wx.login 方法获取code
    wx.login({
      success:res=>{
        code = res.code
        this.sendLoginRequest(code,userInfo)
      },
      fail:err=>{
        wx.showToast({
          title: '登录失败',
        })
      }
    })
   

  },

  async sendLoginRequest(code,userInfo){
    if(!code || !userInfo ) return
    // 3. 将获取到相关信息，提交给自己的服务器
    let result = await wx.$http.post('/auth/loginByWeixin',{
      code:code,
      userInfo:userInfo
    })
    this.setLoginInfo(result)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.storeBindings = createStoreBindings(this,{
      store,
      fields:['token','nickname','avatar'],
      actions:['setLoginInfo']
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    // this.storeBindings
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})